{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 40,
   "id": "5cf5c1c2-1418-4f93-bf16-2bb193afae63",
   "metadata": {},
   "outputs": [],
   "source": [
    "import ollama\n",
    "\n",
    "SYSTEM_PROMPT = \"\"\"\n",
    "你是一个资深的小红书爆款文案专家，擅长结合最新潮流和产品卖点，创作引人入胜、高互动、高转化的笔记文案。\n",
    "\n",
    "你的任务是根据用户提供的产品和需求，生成包含标题、正文、相关标签和表情符号的完整小红书笔记。\n",
    "\n",
    "请始终采用'Thought-Action-Observation'模式进行推理和行动。文案风格需活泼、真诚、富有感染力。当完成任务后，请以JSON格式直接输出最终文案，格式如下：\n",
    "```json\n",
    "{\n",
    "  \"title\": \"小红书标题\",\n",
    "  \"body\": \"小红书正文\",\n",
    "  \"hashtags\": [\"#标签1\", \"#标签2\", \"#标签3\", \"#标签4\", \"#标签5\"],\n",
    "  \"emojis\": [\"✨\", \"🔥\", \"💖\"]\n",
    "}\n",
    "```\n",
    "在生成文案前，请务必先思考并收集足够的信息。\n",
    "\"\"\"\n",
    "\n",
    "def generate_rednote(product_name: str, tone_style: str = \"活泼甜美\") -> str:\n",
    "    \"\"\"\n",
    "    使用 Ollama Agent 生成小红书爆款文案。\n",
    "    \n",
    "    Args:\n",
    "        product_name (str): 要生成文案的产品名称。\n",
    "        tone_style (str): 文案的语气和风格，如\"活泼甜美\"、\"知性\"、\"搞怪\"等。\n",
    "       \n",
    "    Returns:\n",
    "        str: 生成的爆款文案（JSON 格式字符串）。\n",
    "    \"\"\"\n",
    "    \n",
    "    # 存储对话历史，包括系统提示词和用户请求\n",
    "    #messages = '[{\"role\": \"system\", \"content\": \"'\n",
    "    #messages += SYSTEM_PROMPT\n",
    "    #messages += '\"},'\n",
    "    #messages += '{\"role\": \"user\", \"content\": \"请为产品「'\n",
    "    #messages += product_name\n",
    "    #messages += '」生成一篇小红书爆款文案。要求：语气'\n",
    "    #messages += tone_style\n",
    "    #messages += '，包含标题、正文、至少5个相关标签和5个表情符号。请以完整的JSON格式输出，并确保JSON内容用markdown代码块包裹（例如：```json{{...}}```）。\"}]'\n",
    "    messages = [\n",
    "        {\"role\": \"system\", \"content\": SYSTEM_PROMPT},\n",
    "        {\"role\": \"user\", \"content\": f\"请为产品「{product_name}」生成一篇小红书爆款文案。要求：语气{tone_style}，包含标题、正文、至少5个相关标签和5个表情符号。请以完整的JSON格式输出，并确保JSON内容用markdown代码块包裹（例如：```json{{...}}```）。\"}\n",
    "    ]\n",
    "    \n",
    "    response = ollama.chat(\n",
    "        #stream=True,\n",
    "        model='deepseek-r1:8b', # 修改大模型名称1\n",
    "        messages=messages,\n",
    "    )\n",
    "    return response.message.content\n",
    "       "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "id": "0573d16d-fad3-426e-ab1f-0c93be6a2ae8",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "--- 生成的文案 1 ---\n",
      "<think>\n",
      "首先，用户要求我为产品「深海蓝藻保湿面膜」生成一篇小红书爆款文案。关键词是“活泼甜美”的语气。\n",
      "\n",
      "任务包括：\n",
      "- 标题\n",
      "- 正文（包含标题、正文、相关标签和表情符号）\n",
      "- 至少5个相关标签\n",
      "- 5个表情符号\n",
      "\n",
      "输出格式必须是JSON，结构为：\n",
      "{\n",
      "  \"title\": \"小红书标题\",\n",
      "  \"body\": \"小红笔记内容\"\n",
      "}\n",
      "\n",
      "然后，在JSON之后，用markdown代码块包裹，例如：```json{...}```。\n",
      "\n",
      "指令说：“请以完整的JSON格式直接输出最终文案，格式如下：”，并在后面指定“确保JSON内容用markdown代码块包裹”。所以，我需要先生成JSON对象，然后再把它放在markdown代码块中。\n",
      "\n",
      "现在，采用'Thought-Action-Observation'模式：\n",
      "1. **Thought（思考）**: 先收集信息。产品是深海蓝藻保湿面膜。卖点可能包括保湿、深层清洁、滋养皮肤等。因为是保湿面膜，所以针对干燥皮肤问题。我需要结合最新潮流：小红书上流行的话题如#护肤、#美妆、#夏日必备等。语气活泼甜美，像在和朋友聊天一样。\n",
      "\n",
      "2. **Action（行动）**: 基于思考创作文案。\n",
      "   - 标题：要吸引人，包含产品名，并突出卖点或情感。\n",
      "     例如：\"深海蓝藻面膜大公开！拯救干燥肌肤的秘密武器✨\"\n",
      "   - 正文：需要高互动、高转化。开头用亲切语气，描述使用体验、好处。内容结构可以是个人故事 + 卖点 + 呼吁行动。\n",
      "     活泼甜美风格：用感叹号、夸张表达、可爱词汇。比如，“哇塞！”、“超级补水”、“我的皮肤爱不释手”。\n",
      "\n",
      "3. **Observation（观察）**: 分析用户需求。他们可能想分享自己的使用心得，推荐给他人。\n",
      "\n",
      "确保至少5个标签和5个表情符号。\n",
      "- 标签：相关话题如#保湿面膜、#深海蓝藻、#护肤秘籍、#美妆必备、#夏日水疗等。\n",
      "- 表情符号：活泼的emoji，比如✨（闪亮）、💖（爱心）、💦（水滴）、🌊（海浪）、🌿（植物），或其他如😍、😊。\n",
      "\n",
      "完整JSON格式：\n",
      "{\n",
      "  \"title\": \"标题\",\n",
      "  \"body\": \"正文内容\"\n",
      "}\n",
      "\n",
      "在body中包含标签和表情符号。指令说：\"hashtags\":[\"#标签1\", \"#标签2\", ...] 和 \"emojis\":[\"✨\", ...\"]，但JSON结构是单一的，所以可能需要将它们整合到body中。\n",
      "\n",
      "回顾用户查询：格式指定为：\n",
      "{\n",
      "  \"title\": \"小红书标题\",\n",
      "  \"body\": \"小红书正文\"\n",
      "}\n",
      "\n",
      "但在body正文中应该包含所有元素。或许我需要在body中嵌入标签和emoji，但结构是单一的JSON对象。指令说：\"生成包含标题、正文、相关标签和表情符号的完整小红书笔记\"，然后JSON格式只有title和body。\n",
      "\n",
      "用户查询中的JSON格式示例是：\n",
      "{\n",
      "  \"title\": \"小红书标题\",\n",
      "  \"body\": \"小红书正文\"\n",
      "}\n",
      "\n",
      "但在描述中提到：\"hashtags\":[\"#标签1\", \"#标签2\", ...] 和 \"emojis\":[\"✨\", ...\"]\"，这可能意味着在body正文中需要包含这些。\n",
      "\n",
      "为了符合“完整小红书笔记”，我应该将title和body分开，但tags和emojis可能作为正文的一部分或单独字段。查询中的JSON格式没有指定额外的字段，所以或许只用title和body。\n",
      "\n",
      "指令说：\"以完整的JSON格式直接输出最终文案\"，并给出示例只有title和body。但在正文中可以自然地包含标签和emoji，因为小红书笔记本身就有hashtags。\n",
      "\n",
      "在Thought-Action-Observation模式中：\n",
      "- 先思考：产品卖点 - 深海蓝藻（可能有抗氧化、保湿），针对干燥皮肤。\n",
      "- 行动：创作文案。\n",
      "  标题例子：\"深海蓝藻面膜！我的肌肤重生之旅🌊\"\n",
      "  正文：用甜美语气描述，比如“姐妹们，你们有没有干到爆的皮肤？今天我要分享一个超级补水的秘密武器——深海蓝藻保湿面膜！💖”\n",
      "\n",
      "- 观察：确保高互动和转化。使用问题、呼吁评论或分享。\n",
      "\n",
      "标签至少5个：\n",
      "1. #深海蓝藻\n",
      "2. #保湿面膜\n",
      "3. #护肤心得\n",
      "4. #日常护理\n",
      "5. #美丽肌肤\n",
      "\n",
      "表情符号至少5个：\n",
      "1. ✨\n",
      "2. 💖\n",
      "3. 🌊 (代表海洋)\n",
      "4. 😍 (爱意)\n",
      "5. 💦 (水滴)\n",
      "\n",
      "现在，构建JSON。\n",
      "</think>\n",
      "{\n",
      "  \"title\": \"深海蓝藻面膜大揭秘！我的肌肤瞬间喝饱水💦\",\n",
      "  \"body\": \"哇塞的姐妹们～你们有没有试过干到裂开的皮肤？超级难受对吧！今天我要疯狂安利一个宝藏产品——深海蓝藻保湿面膜！💖这东西简直是沙漠女孩的救星，一抹上去就感觉海洋的精华涌进皮肤里🌊。成分超级天然，富含深海矿物质和藻类营养，能深层补水、锁住水分，第二天醒来脸蛋水嫩嫩的，摸起来滑溜溜的～😍用了它之后，我的细纹都淡了大半，肤色均匀得像开了滤镜！🌿而且它质地轻薄不粘腻，敷15分钟就拿下来了，超级方便适合忙碌的上班族。姐妹们快试试吧，评论区告诉我你的使用心得哦～说不定还能激发我分享更多美丽秘籍呢！🔥#深海蓝藻 #保湿面膜 #护肤秘籍 #美妆必备 #日常护理\"\n",
      "}\n",
      "\n",
      "--- 去think ---\n",
      "\n",
      "{\n",
      "  \"title\": \"深海蓝藻面膜大揭秘！我的肌肤瞬间喝饱水💦\",\n",
      "  \"body\": \"哇塞的姐妹们～你们有没有试过干到裂开的皮肤？超级难受对吧！今天我要疯狂安利一个宝藏产品——深海蓝藻保湿面膜！💖这东西简直是沙漠女孩的救星，一抹上去就感觉海洋的精华涌进皮肤里🌊。成分超级天然，富含深海矿物质和藻类营养，能深层补水、锁住水分，第二天醒来脸蛋水嫩嫩的，摸起来滑溜溜的～😍用了它之后，我的细纹都淡了大半，肤色均匀得像开了滤镜！🌿而且它质地轻薄不粘腻，敷15分钟就拿下来了，超级方便适合忙碌的上班族。姐妹们快试试吧，评论区告诉我你的使用心得哦～说不定还能激发我分享更多美丽秘籍呢！🔥#深海蓝藻 #保湿面膜 #护肤秘籍 #美妆必备 #日常护理\"\n",
      "}\n",
      "--- 格式化后的小红书文案 (Markdown) ---\n",
      "## 深海蓝藻面膜大揭秘！我的肌肤瞬间喝饱水💦\n",
      "\n",
      "哇塞的姐妹们～你们有没有试过干到裂开的皮肤？超级难受对吧！今天我要疯狂安利一个宝藏产品——深海蓝藻保湿面膜！💖这东西简直是沙漠女孩的救星，一抹上去就感觉海洋的精华涌进皮肤里🌊。成分超级天然，富含深海矿物质和藻类营养，能深层补水、锁住水分，第二天醒来脸蛋水嫩嫩的，摸起来滑溜溜的～😍用了它之后，我的细纹都淡了大半，肤色均匀得像开了滤镜！🌿而且它质地轻薄不粘腻，敷15分钟就拿下来了，超级方便适合忙碌的上班族。姐妹们快试试吧，评论区告诉我你的使用心得哦～说不定还能激发我分享更多美丽秘籍呢！🔥#深海蓝藻 #保湿面膜 #护肤秘籍 #美妆必备 #日常护理\n"
     ]
    }
   ],
   "source": [
    "# 测试案例 1: 深海蓝藻保湿面膜\n",
    "product_name_1 = \"深海蓝藻保湿面膜\"\n",
    "tone_style_1 = \"活泼甜美\"\n",
    "result_1 = generate_rednote(product_name_1, tone_style_1)\n",
    "\n",
    "print(\"\\n--- 生成的文案 1 ---\")\n",
    "print(result_1)\n",
    "\n",
    "# 找出结论的json\n",
    "index = result_1.find(\"</think>\")\n",
    "if index != -1:\n",
    "    result_1 = result_1[index+8:]\n",
    "\n",
    "index = result_1.find(\"```json\")\n",
    "if index != -1:\n",
    "    result_1 = result_1[index+7:]\n",
    "\n",
    "index = result_1.find(\"```\")\n",
    "if index != -1:\n",
    "    result_1 = result_1[0:index]\n",
    "    \n",
    "print(\"\\n--- 去think ---\")\n",
    "print(result_1)\n",
    "\n",
    "# 调用格式化函数\n",
    "markdown_note = format_rednote_for_markdown(result_1)\n",
    "\n",
    "# 打印结果\n",
    "print(\"--- 格式化后的小红书文案 (Markdown) ---\")\n",
    "print(markdown_note)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 42,
   "id": "b4e14a88-505d-463c-bc13-6520f86b703b",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "--- 生成的文案 2 ---\n",
      "<think>\n",
      "首先，用户要求我为产品「美白精华」生成一篇小红书爆款文案。任务是根据提供的产品和需求创作笔记文案。\n",
      "\n",
      "关键元素：\n",
      "- 标题：需要吸引人、引人入胜。\n",
      "- 正文：高互动、高转化的文案风格活泼、真诚、富有感染力。\n",
      "- 相关标签：至少5个。\n",
      "- 表情符号：至少5个。\n",
      "- 文案风格：知性温柔（这与我通常的模式不同，需要调整）。\n",
      "\n",
      "任务模式是'Thought-Action-Observation'：\n",
      "1. **Thought**：先思考和收集足够的信息。对于美白精华产品，需要考虑卖点、目标受众、潮流趋势等。\n",
      "2. **Action**：基于思考创作文案。\n",
      "3. **Observation**：确保输出符合要求。\n",
      "\n",
      "用户指定语气知性温柔：这意味着文案要显得聪明、优雅、温和，而不是过于活泼或夸张。所以，我需要调整风格，使其更柔和、知识性强。\n",
      "\n",
      "产品是「美白精华」，所以我应该聚焦于它的优势：\n",
      "- 美白效果。\n",
      "- 主成分（如维生素C、熊果素等）。\n",
      "- 用户体验（如何使用、效果如何）。\n",
      "- 常见问题或误解澄清。\n",
      "- 结合小红书的潮流：例如，强调自然、健康生活方式，或者结合护肤 routine。\n",
      "\n",
      "爆款文案需要高互动和转化：\n",
      "- 高互动：鼓励评论、分享，通过提问、故事化叙述来吸引用户参与。\n",
      "- 高转化：呼吁行动，如推荐购买或试用。\n",
      "\n",
      "正文结构建议（基于小红书风格）：\n",
      "- 开头：以个人经历或情感开头，拉近距离。\n",
      "- 主体：介绍产品卖点、使用方法、效果等，保持知性温柔语气。\n",
      "- 结尾：总结感受，提供价值，鼓励互动和行动。\n",
      "\n",
      "表情符号至少5个：选择与内容相关的，如✨表示闪耀、💖表示爱心、🔥表示热度等。但要适配温柔语气，所以用更柔和的emoji，比如💕、🌙、🌸等。\n",
      "\n",
      "相关标签至少5个：基于产品关键词。\n",
      "- 可能包括：#美白 #护肤 #精华液 #日常护理 #美丽秘诀\n",
      "- 确保真实和流行的小红书标签。\n",
      "\n",
      "输出格式：\n",
      "- 以JSON格式输出：{\"title\": \"...\", \"body\": \"...\", \"hashtags\": [\"...\"], \"emojis\": [\"...\"]}\n",
      "- 并确保JSON内容用markdown代码块包裹，例如：```json{...}```\n",
      "\n",
      "现在，Thought部分：\n",
      "- 收集信息：美白精华通常包含美白成分、帮助均匀肤色、减少暗沉等。目标用户是关注皮肤健康的女性。\n",
      "- 潮流结合：最近小红书上流行关于自然美容、成分党的话题，所以可以提到产品成分和科学依据。\n",
      "- 卖点：假设产品有效、温和、易用（因为没有具体细节，需一般化）。\n",
      "\n",
      "Action部分：\n",
      "- 标题：例如，“我的肌肤亮起来的秘密武器✨美白精华日常护理心得”\n",
      "- 正文：开头以温柔语气分享个人故事，比如“最近在追求更明亮的肤色，我发现了一款神奇的美白精华...”，然后介绍卖点、使用方法、效果。\n",
      "- 鼓励互动：问读者他们的经验或疑问。\n",
      "- 呼吁行动：建议他们试试。\n",
      "\n",
      "Observation部分：\n",
      "- 确保语气知性温柔：用词要优雅、亲切，避免俚语。\n",
      "- 表情符号不超过5个，并与内容相关。\n",
      "- 标签至少5个，真实且热门。\n",
      "\n",
      "完整JSON输出：\n",
      "{\n",
      "  \"title\": \"小红书标题\",\n",
      "  \"body\": \"小红体正文\",\n",
      "  \"hashtags\": [\"#标签1\", \"#标签2\"],\n",
      "  \"emojis\": [\"✨\", \"💕\"]\n",
      "}\n",
      "\n",
      "用markdown代码块包裹：所以输出应该是：\n",
      "\n",
      "```json\n",
      "{\n",
      "  \"title\": \"...\",\n",
      "  \"body\": \"...\",\n",
      "  \"hashtags\": [...],\n",
      "  \"emojis\": [...]\n",
      "}\n",
      "```\n",
      "\n",
      "现在， brainstorm 标题：\n",
      "- 知性温柔：或许“我的肌肤焕发光彩之旅✨美白精华分享”\n",
      "- 或者“温柔美白的秘密武器💖日常护理心得”\n",
      "\n",
      "正文内容大纲：\n",
      "1. 开头：介绍自己对美白的追求和发现的产品。\n",
      "2. 卖点：解释产品成分、效果（如提亮肤色、抗氧化）。\n",
      "3. 使用方法：简单易行，温和不刺激。\n",
      "4. 效果展示：分享个人变化或积极故事。\n",
      "5. 互动元素：提问读者，“你们有没有用过美白精华？有什么心得？”\n",
      "6. 结尾：鼓励尝试，并添加标签。\n",
      "\n",
      "表情符号选择：\n",
      "- 知性温柔风格：使用更柔和的，如✨、💖、🌿（自然）、🌙（夜间护理）、🌸（美丽）。\n",
      "- 至少5个：例如，[\"✨\", \"💕\", \"🌿\", \"🌙\", \"🌸\"]\n",
      "\n",
      "标签选择：\n",
      "- #美白精华\n",
      "- #日常护肤\n",
      "- #肌肤护理\n",
      "- #健康美容\n",
      "- #美丽生活\n",
      "- 需要至少5个。\n",
      "\n",
      "确保输出是JSON格式。\n",
      "</think>\n",
      "```json\n",
      "{\n",
      "  \"title\": \"我的肌肤焕发光彩之旅✨温柔美白精华的秘密分享\",\n",
      "  \"body\": \"最近，我在追求更明亮、均匀的肤色时，发现了一款让我惊喜不已的美白精华。作为一名注重肌肤健康的人，我总是相信温和的方式才能带来持久的美好。这款精华富含维生素C和熊果素等活性成分，它不仅能提亮暗沉的皮肤，还能抗氧化，帮助减少色斑，使用起来超级简单——每天早晚洁面后，轻轻按摩几滴就能融入肌底。\\n\\n一开始我也有些担心，怕过度使用会刺激皮肤，但经过一个月的坚持，我的肤色明显变得更有光泽和均匀感了。特别是早上起床后的镜子时刻，看到自己的脸蛋像被点亮了一样，那种感觉真的太治愈了！它让我想起了以前在美容杂志上读到的知识：美白不仅仅是表面功夫，更需要从内而外调理。\\n\\n亲爱的姐妹们，你们有没有类似的体验？或者对美白精华有任何疑问呢？欢迎在评论区分享你的故事哦～让我们一起交流如何用科学的方法呵护肌肤吧。记住，美丽是慢慢积累的，选择温和的产品才是长久之道！\",\n",
      "  \"hashtags\": [\"#美白精华\", \"#日常护肤\", \"#肌肤护理\", \"#健康美容\", \"#美丽生活\"],\n",
      "  \"emojis\": [\"✨\", \"💕\", \"🌿\", \"🌙\", \"🌸\"]\n",
      "}\n",
      "```\n",
      "\n",
      "--- 去think ---\n",
      "\n",
      "{\n",
      "  \"title\": \"我的肌肤焕发光彩之旅✨温柔美白精华的秘密分享\",\n",
      "  \"body\": \"最近，我在追求更明亮、均匀的肤色时，发现了一款让我惊喜不已的美白精华。作为一名注重肌肤健康的人，我总是相信温和的方式才能带来持久的美好。这款精华富含维生素C和熊果素等活性成分，它不仅能提亮暗沉的皮肤，还能抗氧化，帮助减少色斑，使用起来超级简单——每天早晚洁面后，轻轻按摩几滴就能融入肌底。\\n\\n一开始我也有些担心，怕过度使用会刺激皮肤，但经过一个月的坚持，我的肤色明显变得更有光泽和均匀感了。特别是早上起床后的镜子时刻，看到自己的脸蛋像被点亮了一样，那种感觉真的太治愈了！它让我想起了以前在美容杂志上读到的知识：美白不仅仅是表面功夫，更需要从内而外调理。\\n\\n亲爱的姐妹们，你们有没有类似的体验？或者对美白精华有任何疑问呢？欢迎在评论区分享你的故事哦～让我们一起交流如何用科学的方法呵护肌肤吧。记住，美丽是慢慢积累的，选择温和的产品才是长久之道！\",\n",
      "  \"hashtags\": [\"#美白精华\", \"#日常护肤\", \"#肌肤护理\", \"#健康美容\", \"#美丽生活\"],\n",
      "  \"emojis\": [\"✨\", \"💕\", \"🌿\", \"🌙\", \"🌸\"]\n",
      "}\n",
      "\n",
      "--- 格式化后的小红书文案 (Markdown) ---\n",
      "## 我的肌肤焕发光彩之旅✨温柔美白精华的秘密分享\n",
      "\n",
      "最近，我在追求更明亮、均匀的肤色时，发现了一款让我惊喜不已的美白精华。作为一名注重肌肤健康的人，我总是相信温和的方式才能带来持久的美好。这款精华富含维生素C和熊果素等活性成分，它不仅能提亮暗沉的皮肤，还能抗氧化，帮助减少色斑，使用起来超级简单——每天早晚洁面后，轻轻按摩几滴就能融入肌底。\n",
      "\n",
      "一开始我也有些担心，怕过度使用会刺激皮肤，但经过一个月的坚持，我的肤色明显变得更有光泽和均匀感了。特别是早上起床后的镜子时刻，看到自己的脸蛋像被点亮了一样，那种感觉真的太治愈了！它让我想起了以前在美容杂志上读到的知识：美白不仅仅是表面功夫，更需要从内而外调理。\n",
      "\n",
      "亲爱的姐妹们，你们有没有类似的体验？或者对美白精华有任何疑问呢？欢迎在评论区分享你的故事哦～让我们一起交流如何用科学的方法呵护肌肤吧。记住，美丽是慢慢积累的，选择温和的产品才是长久之道！\n",
      "\n",
      "#美白精华 #日常护肤 #肌肤护理 #健康美容 #美丽生活\n"
     ]
    }
   ],
   "source": [
    "# 测试案例 2: 美白精华\n",
    "product_name_2 = \"美白精华\"\n",
    "tone_style_2 = \"知性温柔\"\n",
    "result_2 = generate_rednote(product_name_2, tone_style_2)\n",
    "\n",
    "print(\"\\n--- 生成的文案 2 ---\")\n",
    "print(result_2)\n",
    "\n",
    "# 找出结论的json\n",
    "index = result_2.find(\"</think>\")\n",
    "if index != -1:\n",
    "    result_2 = result_2[index+8:]\n",
    "\n",
    "index = result_2.find(\"```json\")\n",
    "if index != -1:\n",
    "    result_2 = result_2[index+7:]\n",
    "\n",
    "index = result_2.find(\"```\")\n",
    "if index != -1:\n",
    "    result_2 = result_2[0:index]\n",
    "    \n",
    "print(\"\\n--- 去think ---\")\n",
    "print(result_2)\n",
    "\n",
    "# 调用格式化函数\n",
    "markdown_note = format_rednote_for_markdown(result_2)\n",
    "\n",
    "# 打印结果\n",
    "print(\"--- 格式化后的小红书文案 (Markdown) ---\")\n",
    "print(markdown_note)\n",
    "        "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 43,
   "id": "495eb1b5-c945-4c27-8819-853d0e3c4257",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "--- 生成的文案 3 ---\n",
      "<think>\n",
      "首先，用户请求为产品“男士护肤”生成一篇小红书爆款文案。要求是语气清爽干净，包含标题、正文、至少5个相关标签和5个表情符号。\n",
      "\n",
      "我的任务是使用'Thought-Action-Observation'模式：先思考（Thought），然后行动（Action），最后观察（Observation）。但输出必须是JSON格式，并以markdown代码块包裹。\n",
      "\n",
      "回想一下'Thought-Action-Observation'模式：\n",
      "\n",
      "- Thought: 思考和收集足够的信息。这包括理解产品卖点、目标受众、最新潮流等。\n",
      "\n",
      "- Action: 基于思考，创作文案。\n",
      "\n",
      "- Observation: 确保输出符合要求，并以JSON格式提供。\n",
      "\n",
      "用户指定了输出格式：必须是完整的JSON对象，包含“title”、“body”、“hashtags”和“emojis”，并且用markdown代码块包裹。所以，在响应中，我需要将JSON内容放在```json ... ```这样的代码块中。\n",
      "\n",
      "现在，思考阶段：\n",
      "\n",
      "- 产品：男士护肤\n",
      "\n",
      "- 需求：生成小红书爆款文案，语气清爽干净\n",
      "\n",
      "- 文案风格：活泼、真诚、富有感染力（根据我的系统提示）\n",
      "\n",
      "- 要素：\n",
      "  - 标题：需要吸引人，结合男士护肤主题。\n",
      "  - 正文：内容要引人入胜、高互动、高转化。针对男士护肤，可能包括清洁、保湿、防晒等常见产品。\n",
      "  - 标签：至少5个相关标签，例如#男士护肤 #护肤技巧 等。\n",
      "  - 表情符号：至少5个，选择与主题相关的，如清爽的水滴、干净的脸部表情等。\n",
      "\n",
      "最新潮流和产品卖点：\n",
      "- 小红书上，男士护肤越来越受欢迎，强调男性皮肤的独特需求，如更粗大的毛孔、油脂分泌多、胡须护理等。\n",
      "- 清爽干净的语气：可能意味着文案要简洁、清新、不油腻，突出产品的温和性和有效性。\n",
      "- 假设产品是通用型男士护肤品，比如洁面乳或保湿霜。用户没有指定具体产品，所以我需要泛化到男士护肤类别。\n",
      "\n",
      "收集信息：\n",
      "- 标题想法：例如，“男生必备！清爽护肤秘籍大公开” 或 “告别油腻，肌肤水嫩：男士护肤攻略”\n",
      "- 正文结构：开头吸引注意，中间分享实用技巧或产品推荐，结尾呼吁行动。保持活泼、真诚。\n",
      "  - 可能包括个人体验、问题解决（如痘痘、干燥），高互动元素如提问或投票。\n",
      "  - 高转化：鼓励用户购买相关产品或尝试建议。\n",
      "- 标签至少5个：例如 #男士护肤 #护肤日常 #清爽肌肤 #男士美妆 #皮肤护理 等。确保相关。\n",
      "- 表情符号：选择与护肤相关的，如✨ for sparkle, 💧 for water (清爽), 😎 for handsome (男性)，🧴 for skincare, etc. 至少5个。\n",
      "\n",
      "创作文案：\n",
      "- 标题：要 catchy，比如 “男生看过来！这些护肤小tips让你肌肤亮起来”\n",
      "- 正文：分段落。\n",
      "  - 开头：引起共鸣，“作为一个男生，你是否也在为皮肤油腻、毛孔粗大烦恼？”\n",
      "  - 中间：分享技巧或推荐产品，“试试这款清爽的洁面乳，它能深层清洁而不紧绷。” 或 “我发现，坚持每天保湿能让皮肤光滑一整天！”\n",
      "  - 结尾：互动和转化，“快告诉我你用过什么好物？或者加我关注领取护肤指南吧！”\n",
      "- 表情符号：融入正文中，比如在关键点后添加。例如，在提到产品时加🧴。\n",
      "- 标签：列表形式，至少5个。\n",
      "\n",
      "确保语气清爽干净：\n",
      "- 语言要轻快、正面、不沉重。使用感叹号和轻松词汇。\n",
      "- 示例标题： “男士护肤新潮流：保持肌肤水润有秘诀！”\n",
      "- 正文： “Hey guys! 🎈 如果你是个男生，皮肤护理可能听起来有点陌生，但相信我，它真的超级重要！首先，清洁是关键——用这款温和的洗面奶，泡沫丰富，洗完不干涩。✨ 它含有氨基酸，适合我们多油的皮肤。保湿也不能少哦，选无油质地的乳液，让皮肤柔软有弹性。💧 防晒在夏天必备，SPF50+能保护你的脸不被晒伤。😎 我们来点互动吧！你平时用什么护肤品？评论区见！”\n",
      "- 标签： [\"#男士护肤\", \"#护肤技巧\", \"#清爽肌肤\", \"#保湿推荐\", \"#防晒指南\"] 等。\n",
      "- 表情符号：至少5个，如 ✨, 💧, 😎, 🎈, etc.\n",
      "\n",
      "输出格式：\n",
      "- 必须是 JSON 对象： { \"title\": \"...\", \"body\": \"...\", \"hashtags\": [\"#...\", \"#...\"], \"emojis\": [\"...\", \"...\"] }\n",
      "- 用 markdown 代码块包裹，即 ```json { ... } ```\n",
      "</think>\n",
      "```json\n",
      "{\n",
      "  \"title\": \"男生必备！这些清爽护肤小tips让你皮肤水嫩发光✨\",\n",
      "  \"body\": \"Hey bros! 🎈 如果你是个男生，皮肤护理是不是总觉得有点麻烦？别担心，我来分享一些超级实用的秘诀，帮你告别油腻和粗糙，让肌肤每天保持水润状态。首先，清洁是王道——用这款氨基酸洁面乳，泡沫绵密，洗完脸滑滑的不紧绷！💦 它能温和去除污垢和多余油脂，适合我们粗大的毛孔。保湿也不能马虎哦，选无油质地的凝露，一抹就吸收，皮肤瞬间柔软有弹性～💧 防晒在夏天绝对不能少，SPF50+的日霜轻薄不粘腻，还能防紫外线伤害。😎 坚持下来，你会发现皮肤越来越光滑！快试试这些方法吧——你们用过什么好物？评论区告诉我，我们一起讨论！🔥\",\n",
      "  \"hashtags\": [\"#男士护肤\", \"#护肤日常\", \"#清爽肌肤\", \"#保湿推荐\", \"#防晒指南\"],\n",
      "  \"emojis\": [\"✨\", \"🎈\", \"💧\", \"😎\", \"🔥\"]\n",
      "}\n",
      "```\n",
      "\n",
      "--- 去think ---\n",
      "\n",
      "{\n",
      "  \"title\": \"男生必备！这些清爽护肤小tips让你皮肤水嫩发光✨\",\n",
      "  \"body\": \"Hey bros! 🎈 如果你是个男生，皮肤护理是不是总觉得有点麻烦？别担心，我来分享一些超级实用的秘诀，帮你告别油腻和粗糙，让肌肤每天保持水润状态。首先，清洁是王道——用这款氨基酸洁面乳，泡沫绵密，洗完脸滑滑的不紧绷！💦 它能温和去除污垢和多余油脂，适合我们粗大的毛孔。保湿也不能马虎哦，选无油质地的凝露，一抹就吸收，皮肤瞬间柔软有弹性～💧 防晒在夏天绝对不能少，SPF50+的日霜轻薄不粘腻，还能防紫外线伤害。😎 坚持下来，你会发现皮肤越来越光滑！快试试这些方法吧——你们用过什么好物？评论区告诉我，我们一起讨论！🔥\",\n",
      "  \"hashtags\": [\"#男士护肤\", \"#护肤日常\", \"#清爽肌肤\", \"#保湿推荐\", \"#防晒指南\"],\n",
      "  \"emojis\": [\"✨\", \"🎈\", \"💧\", \"😎\", \"🔥\"]\n",
      "}\n",
      "\n",
      "--- 格式化后的小红书文案 (Markdown) ---\n",
      "## 男生必备！这些清爽护肤小tips让你皮肤水嫩发光✨\n",
      "\n",
      "Hey bros! 🎈 如果你是个男生，皮肤护理是不是总觉得有点麻烦？别担心，我来分享一些超级实用的秘诀，帮你告别油腻和粗糙，让肌肤每天保持水润状态。首先，清洁是王道——用这款氨基酸洁面乳，泡沫绵密，洗完脸滑滑的不紧绷！💦 它能温和去除污垢和多余油脂，适合我们粗大的毛孔。保湿也不能马虎哦，选无油质地的凝露，一抹就吸收，皮肤瞬间柔软有弹性～💧 防晒在夏天绝对不能少，SPF50+的日霜轻薄不粘腻，还能防紫外线伤害。😎 坚持下来，你会发现皮肤越来越光滑！快试试这些方法吧——你们用过什么好物？评论区告诉我，我们一起讨论！🔥\n",
      "\n",
      "#男士护肤 #护肤日常 #清爽肌肤 #保湿推荐 #防晒指南\n"
     ]
    }
   ],
   "source": [
    "# 测试案例 3: 美白精华\n",
    "product_name_3 = \"男士护肤\"\n",
    "tone_style_3 = \"清爽干净\"\n",
    "result_3 = generate_rednote(product_name_3, tone_style_3)\n",
    "\n",
    "print(\"\\n--- 生成的文案 3 ---\")\n",
    "print(result_3)\n",
    "\n",
    "# 找出结论的json\n",
    "index = result_3.find(\"</think>\")\n",
    "if index != -1:\n",
    "    result_3 = result_3[index+8:]\n",
    "\n",
    "index = result_3.find(\"```json\")\n",
    "if index != -1:\n",
    "    result_3 = result_3[index+7:]\n",
    "\n",
    "index = result_3.find(\"```\")\n",
    "if index != -1:\n",
    "    result_3 = result_3[0:index]\n",
    "    \n",
    "print(\"\\n--- 去think ---\")\n",
    "print(result_3)\n",
    "\n",
    "# 调用格式化函数\n",
    "markdown_note = format_rednote_for_markdown(result_3)\n",
    "\n",
    "# 打印结果\n",
    "print(\"--- 格式化后的小红书文案 (Markdown) ---\")\n",
    "print(markdown_note)\n",
    "        "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "146014e8-3d86-4f70-8dac-50c5c1279785",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.13.5"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
